package org.keyroy.map_editor.map.m;

import org.keyroy.map_editor.map.Map;

public class MapRect extends Rect {

	public void check(Map map) {
		if (x < 0) {
			x = 0;
		} else if (x > map.getColumns()) {
			x = map.getColumns();
			width = 0;
		}

		if (y < 0) {
			y = 0;
		} else if (y > map.getRows()) {
			y = map.getRows();
			height = 0;
		}

		boolean needReset = false;
		if (width < 0) {
			x = x + width;
			width = Math.abs(width);
			needReset = true;
		} else if (getRight() > map.getColumns()) {
			setRight(map.getColumns());
		}

		if (height < 0) {
			y = y + height;
			height = Math.abs(height);
			needReset = true;
		} else if (getBottom() > map.getRows()) {
			setBottom(map.getRows());
		}

		if (needReset) {
			check(map);
		}
	}

}
